Индексы

Все поисковые системы производят поиск с помощью заранее построенного индекса. Поэтому документы, участвующие в поиске, должны быть предварительно проиндексированы. Системы, не производящие индексацию (производящие поиск с помощью просмотра текстов), просто не в состоянии провести поиск в реальном времени по уже нескольким десяткам мегабайт текстовой информации.

Для индексирования могут использоваться следующие методы:

  1. обычное индексирование: содержание поля заносится в индекс целиком. Из словосочетания «база данных» формируется одно индексное значение – «база данных». В этом случае для правильного поиска нужно вводить все слова в соответствующем порядке и с соответствующими разделителями. Предикаты LIKE и SIMILAR также позволяют использовать обычный индекс для поиска данных, соответствующих шаблонам;

  2. фразовое, или полнотекстовое индексирование: каждое слово, входящее в документ, индексируется отдельно, разделители не учитываются. Таким образом, из словосочетания «база данных» в индекс войдут два слова: «база» и «данных». Предикат фразового поиска CONTAINS требует обязательного существования соответствующего фразового индекса. При поиске с использованием этого предиката могут как задаваться, так и не задаваться порядок введенных слов, расстояние между словами и т.д.

  3. индексирование ключами – усечение каждого слова до определенного числа букв;

  4. пермутационное индексирование – словосочетание «переворачивается», выводя на первое место каждое из слов, входящих в него.

В СУБД ЛИНТЕР реализованы сочетания первого и второго способов.

Примечание

В настоящее время список стоп-слов пуст.